char[] a int

Hugo
28 de Enero del 2005
char b[10];
fstream miF;
miF.open("equipo2.txt");
miF.seekg(0,ios::beg);
miF.getline(b,10,'.');
miF.close();
x=(int)(b);
cout<<b<<" - "<<x<<endl;

Como ven leo desde un fichero una cadena de caracteres hasta el primer punto que son numeros
b es 16 pero luego x pone que es 1224980
Tampoco vale x=(int)(b[0]) y aunque lo hiciera bien me daria numeros incompletos.
Ya se que lo utilizado es para cambiar un caracter a entero y no una cadena entera.
Alguien tiene una solucion?
Saludos
Gracias

carmamezo
28 de Enero del 2005
Si lo que quieres es sacar un número de un string, usa las funciones atoi() o atof() que sacan un valor entero y un valor en coma flotante de una cadena de caracteres:

char cadena[35]={"12345.6544"};
int a;
double b;

a=atoi(cadena);
b=atof(cadena);

a valdrá: 12345
y b:12345.6544000

Un saludo.

Hugo
28 de Enero del 2005
Gracias, lo único decir que al menos en el codewarrior la libreria es stdlib.h, por si a alguien le interesa. Gracias carmamezo por evitarme el usar el codigo ascii para la conversion de char a int.
Saludos